#ifndef CSIGNAL_H
#define CSIGNAL_H

#include <signal.h>

typedef struct {
	int signo;	//信号对应的数字编号 ，每个信号都有对应的
	const char* signame;	//信号对应的中文名字 ，比如SIGHUP 
	//信号处理函数,这个函数由我们自己来提供，但是它的参数和返回值是固定的【操作系统就这样要求】
	void (*handler)(int signo, siginfo_t* siginfo, void* context);
} signal_t;

class CSignal {
public:
	static int initSignals();
	static void signalHandler(int signo, siginfo_t* siginfo, void* context);	// 信号处理函数
	static void getProcessStatus();												// 获取进程状

	static signal_t signals[];

private:
	CSignal() = delete;
	~CSignal() = delete;
};

#endif // !CSIGNAL_H
